﻿/// <reference path="/Scripts/Base/jquery-1.7.1.js" />
/// <reference path="/Scripts/Base/jquery-ui-1.8.20.js" />

$(function () {
    $(".change-link").click(function () {
        var parentClass = $(this).parent().attr("class");
        //debugger;
        switch (parentClass) {
            case "user-data-username":
                $(this).parent().find("span").hide({
                    duration: 300,
                    complete: function () {
                        $(this).parent().find("input[type=text]").show(300);
                        $(this).parent().find("a").hide(300);
                    },
                });
                break;
            case "user-data-role":
                $(this).parent().find(".user-role-name").hide({
                    duration: 300,
                    complete: function () {
                        $(this).parent().find(".user-role-change").show(300);
                        $(this).parent().find("a").hide(300);
                    },
                });
                break;
            default:
                break;
        }
        //debugger;
    });

    $(".input-user-name").keyup(function (event) {
        if (event.keyCode == 13) {
            var hasNameMatch = false;
            var currentTextBox = $(this);
            var userNameEntered = $(this).val();
            $(".span-user-name").each(function () {
                if ($(this).text().trim() == userNameEntered) {
                    if ($(this).text() != currentTextBox.parent().find(".span-user-name").text()) {
                        hasNameMatch = true;
                        //debugger;
                    }
                }
            });

            if (hasNameMatch) {
                alert("Már van ilyen nevű felhasználó");
            } else {
                ChangeUserName(currentTextBox, currentTextBox.parent().find(".span-user-name").text().trim(), userNameEntered);
            }
        } else {
            if (event.keyCode == 27) {
                //eredeti állapot visszaállítása
                $(this).val($(this).parent().find(".span-user-name").text().trim());
                $(this).hide({
                    duration: 300,
                    complete: function () {
                        $(this).parent().find("span").show(300);
                        $(this).parent().find("a").show(300);
                    },
                });
            }
        }
    });

    function ChangeUserName(currentTextBox, fromUserName, toUserName) {
        $.ajax({
            url: '/Account/ChangeUserName',
            type: 'POST',
            data: { fromUserName: fromUserName, toUserName: toUserName },
            success: function (result) {
                if (!result) {
                    alert("Művelet sikertelen");
                } else {
                    currentTextBox.parent().find("input[type=text]").hide({
                        duration: 300,
                        complete: function () {
                            $(this).parent().find("span").text(toUserName).show(300);
                            $(this).parent().find("a").show(300);
                        },
                    });
                }
            },
            error: function (a, b, c) {
                debugger;
            }
        });
    };

    $(".user-role-change select").keyup(function (event) {
        if (event.keyCode == 27) {
            //eredeti állapot visszaállítása
            $(this).parents(".user-data-role").find(".user-role-change").hide({
                duration: 300,
                complete: function () {
                    $(this).parent().find(".user-role-name").show(200);

                    $(this).parent().find("a").show(200);
                },
            });
        }
    });

    $(".btn-do-change-userrole").click(function () {
        $.ajax({
            url: '/Account/ChangeUserRole',
            type: 'POST',
            data: {
                userName: $(this).parents(".user-data").find(".span-user-name").text().trim(), 
                newRoleId: $(this).parent().find("select").val(), 
                },
            success: function (result) {
                if (result) {
                    window.location.reload();
                }
                else {
                    alert("Művelet sikertelen");
                }
                $(this).parents(".user-data-role").find(".user-role-change").hide({
                    duration: 300,
                    complete: function () {
                        $(this).parent().find(".user-role-name").show(200);

                        $(this).parent().find("a").show(200);
                    },
                });
            },
            error: function (a, b, c) {
                debugger;
            }
        });
    });

});
